package com.demo.chain;

import lombok.extern.slf4j.Slf4j;
import net.hasor.dataway.authorization.PermissionGroup;
import net.hasor.dataway.authorization.PermissionType;
import net.hasor.dataway.spi.LoginTokenChainSpi;
import net.hasor.web.Invoker;

import java.util.Set;

import static net.hasor.dataway.authorization.PermissionGroup.Group_ReadOnly;

/**
 * @Classname LoginTokenChain
 * @Description LoginTokenChainSpi 是 Dataway 4.2.2 加入的新特性。
 * 在此之前针对界面的权限校验，通常需要通过 InvokerFilter 接口来辅助完成。
 * 有了 LoginTokenChainSpi 之后就可以更加简单方便的对界面操作进行权限控制了。
 * @Date 2023/8/4 14:55
 * @Created by Leo825
 */
@Slf4j
public class LoginTokenChain implements LoginTokenChainSpi {

    public static LoginTokenChain getInstance() {
        return new LoginTokenChain();
    }

    @Override
    public boolean doCheckToken(Invoker invoker) {
        final Set<String> codeSet = PermissionGroup.Group_ReadOnly.toCodeSet();
        log.info(codeSet.toString());
        return true;
    }
}
